package com.huirui.server.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 补货申请表：存储所有商品补货申请的提交、处理等全流程信息
 *
 * @TableName t_restock_application
 */
@TableName(value = "t_restock_application")
@Data
public class RestockApplication implements Serializable {
    @Serial
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
    /**
     * 主键ID，自增，唯一标识每条补货申请记录
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 申请人ID，关联用户表的用户ID，记录谁提交的申请
     */
    @TableField(value = "applicant_id")
    private Long applicantId;
    /**
     * 申请提交时间，默认值为系统当前时间
     */
    @TableField(value = "apply_time")
    private LocalDateTime applyTime;
    /**
     * 商品名称，补货申请的目标商品名称（必填项）
     */
    @TableField(value = "product_name")
    private String productName;
    /**
     * 商品品牌名称（选填项）
     */
    @TableField(value = "brand_name")
    private String brandName;
    /**
     * 商品规格型号，如尺寸、容量等（选填项）
     */
    @TableField(value = "specification_name")
    private String specificationName;
    /**
     * 商品图片URL地址，存储用户上传的商品图片路径（选填项）
     */
    @TableField(value = "image_url_list")
    private String imageUrls;
    /**
     * 申请状态：0-待处理，1-已批准，2-已驳回，3-已补货（可根据业务扩展）
     */
    @TableField(value = "status")
    private Integer status;
}